The AEST utility translates OpenVMS Alpha executable and shareable
images into functionally equivalent OpenVMS I64 system images. AEST
also allows you to analyze OpenVMS Alpha images to assess their
translatability.
Format
AEST[/qualifier,...] image[.EXE]
1 /AIIF
Instructs AEST to use the specified Alpha Image Information File (AIIF)
when translating current image. Normally, AEST forms the translated
image references by adding the suffix _AV to Alpha image names.
The /AIIF qualifier allows you to change this behavior.
Default: None
Format
/[NO]AIIF=(filespec[,filespec...])
1.1 – Qualifier Values
filespec
Identifies a file specification for the .AIIF file.
1.2 – Description
Alpha Image Information File (.AIIF file) contains the information
used by AEST to renames the image references in the Alpha file
that is currently translated. Such files are used to relink the
translated image against the different shareable images and to
modify fixup information.
The .AIIF file describes the properties of a shareable image's
exported interface, that is, the precise locations that are
described in the image's symbol vector. These files contain
mapping between Alpha and I64 entry points.
The /NOAIIF qualifier tells AEST not to use the specified AIIF
file, even if it is found.
AEST searches for .AIIF files in the following locations and
in the following order:
1. The directory or directories specified as values to the
/AIIF qualifier in the AEST command line.
2. Locations specified by logical names. The logical name for
each AIIF file must be formed appropriately from the
shareable image list plus the extension (.AIIF). For example,
for the dynamic image SYS$PUBLIC_VECTORS, the appropriate
logical name would be SYS$PUBLIC_VECTORS.AIIF.
3. The current directory.
4. The directory pointed to by the SYS$LIBRARY logical name.
AIIF file syntax:
C-style multiline comments are allowed in any place in the file.
The following delimiters are allowed between fields of file line:
o ' '
o '\t'
o ','
Two type of lines are allowed for .AIIF files:
1. The first type of line is needed for reassigning the old
symbol vector index of a linked library to a new symbol
vector index and probably in another library. Use the
following format for this purpose:
old_symv_idx new_symv_idx [, "new_name"]
Where:
Argument Description Usage
-------- ----------- -----
old_symv_idx old symbol vector (as decimal)
index
new_symv_idx new symbol vector (as decimal)
index
new_name optional, newly (as ASCII, must be
linked library enclosed in double
quotation marks (" "))
2. The second type of line is needed for assigning new
GSMATCH fields for newly linked libraries. Use the
following format for this purpose:
"name" match_ctl minor_id major_id
Where:
Argument Description Usage
-------- ----------- -----
name Name of newly (as ASCII, must be
linked library enclosed in double
quotation marks (" "))
match_ctl matching (as decimal). Identifies
the match algorithm used
by the image activator.
Specify one of the
following values:
0 - ALWAYS
1 - EQUAL
2 - LEQUAL
minor_id minor id (as decimal)
major_id major id (as decimal)
2 /AUDIT
Instructs AEST to analyze the input image and to summarize its
migration characteristics, but not to perform image translation.
Note that, by default, AEST performs an audit before it translates
the image, but it does not print verbose information into list file.
Default: /NOAUDIT
Format
/AUDIT
2.1 – Description
The summary specifies:
o Whether the image is translatable
o Source language or languages of the image (if known)
The audit summary is a one-line description of an image's migration
characteristics that may help you decide what migration option to
choose for the image.
3 /EXECUTABLE
Enables the creation of a translated image and, optionally, includes
a file specification.
Default: /EXECUTABLE
Format
/EXECUTABLE [=filespec]
3.1 – Qualifier Values
filespec
Defines the file specification for the translated image.
3.2 – Description
By default, AEST creates a translated image unless the command
line specifies qualifiers that are incompatible (the /AUDIT
qualifier, for example), and as long as AEST does not encounter
error conditions that prevent image translation. If AEST issues
ERROR or FATAL messages, it does not create a translated image.
If you do not provide a file specification, AEST writes the
translated image to the current directory and names it by
appending _AV to the input image's file name. For example, if
the name of the OpenVMS Alpha image is PROGRAM.EXE, the default
name of the translated image is PROGRAM_AV.EXE.
NOTE
A file name cannot exceed 39 characters in length. Because
of this limitation, AEST truncates any input image file name
that exceeds 36 characters to append the characters _AV.
4 /INTERPRET
Controls whether image's code should be translated or just
interpreted in run-time.
Default: /NOINTERPRET
Format
/INTERPRET
4.1 – Description
AEST tries to find, parse, and translate as much Alpha code as
possible to minimize the need for interpreting Alpha code at run
time. By default, AEST uses the EISD$V_EXE ISD flag to translate
all code that it finds in image sections marked as "executable".
If you specify /INTERPRET, AEST still analyzes all the code found
in "executable" Alpha image sections and creates corresponding
structures in the resulting I64 image, but it did not generate
corresponding I64 code. This minimizes the AEST execution time and
virtual memory required for translation.
Note that run-time performance of a translated image using
/INTERPRET will be slower than one where the code is translated.
5 /LIST
Requests a list file and, optionally, specifies a file name.
Default: /LIST
Format
/LIST [=filespec]
5.1 – Qualifier Values
filespec
Identifies a file specification for the list file.
5.2 – Description
If you do not specify a file specification, AEST writes the list
file to the current directory, names it by appending _AV to the
input image's file name, and uses the extension LIS. For example,
if the input image is SIEVE.EXE, the default list file is called
SIEVE_AV.LIS.
6 /DEBUG
Controls whether the translated image invokes the OpenVMS
Debugger.
Default: The default is /DEBUG if the input image was linked with
the /DEBUG qualifier or /NODEBUG if the input image was linked
with /NODEBUG.
Format
/DEBUG
6.1 – Description
By using the /[NO]DEBUG qualifier, you can change the level as
follows:
o Use /NODEBUG to create a translated image that does not
invoke the debugger.
o Use the /DEBUG qualifier to create a translated image
that invokes the debugger. /DEBUG forces traceback.
7 /DUMP
Instructs AEST to print information about the source Alpha
image, the resulting I64 image, and possibly some internal
information into a
listing file.
Default: /DUMP=NONE
Format
/DUMP=(list)
7.1 – Qualifier Values
list
This is one or a combination of:
ALPHA[=list], IA64[=list], INTERNAL[=list].
For a more details see Description section.
7.2 – Description
/DUMP instructs AEST to print information about the source
Alpha image, the resulting I64 image, and possibly some
internal information into a listing file.
If /DUMP is specified it is equivalent to:
/DUMP=(ALPHA=ALL,IA64=ALL,INTERNAL=NONE)
The following formats are allowed for /DUMP qualifier:
Format
/DUMP=(ALPHA[=keywords])
Default: ALL
Keywords:
NONE prevents printing of source (Alpha) image
information
ALL default, prints all information listed below,
except for code
HEADERS prints image headers
SECTIONS prints list of image sections
SHR_IMAGES prints list of shared images referred by the
translated image
FIXUPS prints list of fixups
RELOCATIONS prints list of relocations
SYMB_VECTOR prints contents of symbol vector (if present)
SYMB_TABLE prints contents of symbol table (if present)
INSTRUCTIONS prints Alpha code instructions
BLOCKS prints Alpha code basic blocks with instructions
ENTRY_POINTS prints list of found entry points
VERBOSE adds some verbosity to listing, particularly
section list will contain more information
Format
/DUMP=(IA64[=keywords])
Default: ALL
Keywords:
NONE prevents printing of translated image
information
ALL default, prints all information listed
below (except for BUNDLES)
HEADERS prints translated image headers (in internal
representation)
SEGMENTS prints brief list of translated image segments
SHR_IMAGES prints list of shared images referred by the
translated image
FIXUPS prints list of fixups
RELOCATIONS prints list of relocations
SYMB_VECTOR prints contents of symbol vector (if present)
SYMB_TABLE prints contents of symbol table (if present)
BUNDLES prints generated I64 code
BLOCKS prints Alpha Basic blocks together with
correspondent I64 bundles. Initialization code
(and other generated I64 code) is printed as well.
TII prints TIE Information structures
TRANS_VECTOR prints transfer vector
GOT prints Global Offset Table contents
Format
/DUMP=(INTERNAL[=keywords])
This qualifier is intended for problem solving purposes only.
Normally you will not need the corresponding printouts.
Default: ALL
Keywords:
NONE prevents printing
ALL prints all information below
INTFIX prints internal fixups (do not appear in
translated image)
INTSYM prints internal symbols (do not appear in
translated image)
FDS prints list of function descriptors
generated by translator.
8 /VERBOSE
Instructs AEST to produce all verbose messages
Default: /NOVERBOSE
Format
/VERBOSE